<?php

interface IService {

    const ZERO = 0;
    const ONE_ROW = 1;
    
    const SALVAR = 'Salvar';
    const SALVAR_LIMPAR = 'SalvarLimpar';
    const SALVAR_COMO = 'SalvarComo';
    const PESQUISAR = 'Pesquisar';
    const EXCLUIR = 'Excluir';
    const EXCLUIR_LOGICO = 'Excluir';
    
    /**
     * This method is implemented in AbstractService.
     * It is calling the other 3 methods.
     * If you want to subscribe, don't forget it.
     * init();
     * specificExecute();
     * end();
     * @author Tiago <tiago.professor@gmail.com>
     */
    function execute();

    /**
     * Executa o comando insert ou update.
     * @author Tiago <tiago.professor@gmail.com>
     */
    public function executarSalvar();

    /**
     * Executa o comando insert.
     * @author Tiago <tiago.professor@gmail.com>
     */
    function executarSalvarComo();

    /**
     * Executa o comando select.
     * @author Tiago <tiago.professor@gmail.com>
     */
    function executarPesquisa();

    /**
     * Executa o comando delete.
     * @author Tiago <tiago.professor@gmail.com>
     */
    function executarExcluir();
}

?>
